<?php

class PartnerModel extends Model
{
    function __construct()
    {
        $this->loadTable('partner');
    }
    
    function handleAdd()
    {
        $flagError = FALSE;
        $errorArr = array();
        $result = array();
        
        if($_POST['name'] == NULL || strlen($_POST['name']) > 30)
        {
            $flagError = TRUE;
            $errorArr[] = "Tên đối tác không được để trống hoặc nhiều hơn 30 kí tự";
        }
        
        
        if($flagError)
        {
            $result['error'] =& $errorArr;
            $result['input'] = $_POST;
            return $result;
        }
        
        
        
        $this->tables['partner']->set('name',$_POST['name']);
        if (!is_null($_POST['description']))
            $this->tables['partner']->set('description', $_POST['description']);
        if (!is_null($_POST['email']))
            $this->tables['partner']->set('email', $_POST['email']);
        $this->tables['partner']->set('status', $_POST['status']);
        $this->tables['partner']->insert();
        $result['message'] = "Thêm đối tác thành công";
        return $result;
    }

    public function handleEdit($id)
    {
        $flagError = FALSE;
        $errorArr = array();
        $result = array();

        if ($_POST['name'] == NULL || strlen($_POST['name']) > 30)
        {
            $flagError = TRUE;
            $errorArr[] = "Tên đối tác không được để trống hoặc nhiều hơn 30 kí tự";
        }


        if ($flagError)
        {
            $result['error'] =& $errorArr;
            $result['input'] = $_POST;
            return $result;
        }


        $this->tables['partner']->set('name', $_POST['name']);
        if (!is_null($_POST['description']))
            $this->tables['partner']->set('description', $_POST['description']);
        if (!is_null($_POST['email']))
            $this->tables['partner']->set('email', $_POST['email']);
        $this->tables['partner']->set('status', $_POST['status']);
        $con = array('id' => $id);
        $this->tables['partner']->update($con);
        $result['message'] = "Sửa đối tác thành công";
        return $result;
    }

    public function handleRemove($id)
    {
        $this->loadTable('ads');
        $rs = $this->tables['partner']->get(array('id' => $id));
        if($rs->getSize() != 0)
        {
            $this->tables['ads']->remove(array('partner_id' => $id));
            $this->tables['partner']->remove(array('id'=>$id));
            return TRUE;
        }
        else
            return FALSE;
    }
    
    public function getPartnerList()
    {
        return $this->tables['partner']->get();
    }

    public function getPartner($id)
    {
        return $this->tables['partner']->get(array('id' => $id));
    }

    public function handleMassAction()
    {
        switch($_POST['mass_action'])
        {
            case 'remove':
                {
                    $this->loadTable('ads');
                    foreach($_POST['cb'] as $cb)
                    {
                        $this->handleRemove($cb);
                    }
                }
        }
    }
}